<?php

namespace ierdre\planningBundle\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;

use ierdre\planningBundle\Entity\employe;
use Symfony\Component\HttpFoundation\Response;



class DefaultController extends Controller
{
    /**
     * @Route("/hello/{name}")
     * @Template()
     */
    public function indexAction($name)
    {
        return array('name' => $name);
    }
    
    
    /**
     * @Route("/insertValue")
     * @Template()
     */
    public function createAction()
    {
    
    $product = new employe();
	$product->setNom("titi");
	$product->setPrenom("paul");
	$product->setTelephone("0606");    
	$product->setDate(new \DateTime("1874-01-01")); 
    $em = $this->getDoctrine()->getManager();
    $em->persist($product);
    $em->flush();

    //return new Response('Id du produit créé : '.$product->getId());
   return $this->render('ierdreplanningBundle:employe:index.html.twig', array('num' => $product->getId(),'nom'=>$product->getNom()));

    }
    
    public function ajouterAction()
    {
	    // On crée un objet Article
	    $article = new employe();

	    // On crée le FormBuilder grâce à la méthode du contrôleur
	    $formBuilder = $this->createFormBuilder($article);

	    // On ajoute les champs de l'entité que l'on veut à notre formulaire
	    $formBuilder
	    ->add('date',        'date')
	    ->add('nom',       'text')
	    ->add('prenom',     'text')
	    ->add('telephone',      'text')
	    ;
	    // Pour l'instant, pas de commentaires, catégories, etc., on les gérera plus tard

	    // À partir du formBuilder, on génère le formulaire
	      $form = $formBuilder->getForm();



	      // On récupère la requête
    $request = $this->get('request');

    // On vérifie qu'elle est de type POST
    if ($request->getMethod() == 'POST') {
      // On fait le lien Requête <-> Formulaire
      // À partir de maintenant, la variable $article contient les valeurs entrées dans le 		formulaire par le visiteur
      $form->bind($request);

      // On vérifie que les valeurs entrées sont correctes
      // (Nous verrons la validation des objets en détail dans le prochain chapitre)
      if ($form->isValid()) {
        // On l'enregistre notre objet $article dans la base de données
        $em = $this->getDoctrine()->getManager();
        $em->persist($article);
        $em->flush();

        // On redirige vers la page de visualisation de l'article nouvellement créé
      	  return $this->redirect($this->generateUrl('ierdre_voir_employe', array('id' => $article->getId())));
      }
    }





	      // On passe la méthode createView() du formulaire à la vue afin qu'elle puisse 			afficher le formulaire toute seule
	      return $this->render('ierdreplanningBundle:employe:ajouter.html.twig', array(
    	'form' => $form->createView(),
    ));
  }
  
  public function voirAction($id)
  {
  // On récupère le repository
  $repository = $this->getDoctrine()
                     ->getManager()
                     ->getRepository('ierdreplanningBundle:employe');

  // On récupère l'entité correspondant à l'id $id
  $employe = $repository->find($id);

  // $article est donc une instance de Sdz\BlogBundle\Entity\Article

  // Ou null si aucun article n'a été trouvé avec l'id $id
  if($employe === null)
  {
    throw $this->createNotFoundException('Article[id='.$id.'] inexistant.');
  }
      return $this->render('ierdreplanningBundle:employe:voir.html.twig', array(
    'employe' => $employe  ));
  }
    
    
    
    public function voirallAction()
  {
  // On récupère le repository
  $repository = $this->getDoctrine()
                     ->getManager()
                     ->getRepository('ierdreplanningBundle:employe');

  // On récupère l'entité correspondant à l'id $id
  $employes = $repository->findAll();
  // $article est donc une instance de Sdz\BlogBundle\Entity\Article

  // Ou null si aucun article n'a été trouvé avec l'id $id
  if($employes === null)
  {
    throw $this->createNotFoundException('Employés inexistant.');
  }
      return $this->render('ierdreplanningBundle:employe:voirall.html.twig', array(
    'employes' => $employes  ));
  }

}
